<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SSD1306 OLED display driver: nano_gfx_types.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SSD1306 OLED display driver
   &#160;<span id="projectnumber">1.8.2</span>
   </div>
   <div id="projectbrief">This library is developed to control SSD1306/SSD1331/SSD1351/IL9163/PCD8554 RGB i2c/spi LED displays</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">nano_gfx_types.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="nano__gfx__types_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    MIT License</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    Copyright (c) 2017-2019, Alexey Dynda</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    Permission is hereby granted, free of charge, to any person obtaining a copy</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    of this software and associated documentation files (the &quot;Software&quot;), to deal</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">    in the Software without restriction, including without limitation the rights</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    copies of the Software, and to permit persons to whom the Software is</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">    furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">    The above copyright notice and this permission notice shall be included in all</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    copies or substantial portions of the Software.</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment">    THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment">    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment">    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment">    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment">    SOFTWARE.</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#ifndef _NANO_GFX_TYPES_H_</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#define _NANO_GFX_TYPES_H_</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="io_8h.html">ssd1306_hal/io.h</a>&quot;</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifndef min</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;</div><div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#ac6afabdc09a49a433ee19d8a9486056d">   35</a></span>&#160;<span class="preprocessor">#define min(a,b) ((a)&lt;(b)?(a):(b))</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#ifndef max</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#affe776513b24d84b39af8ab0930fef7f">   40</a></span>&#160;<span class="preprocessor">#define max(a,b) ((a)&gt;(b)?(a):(b))</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#ade80ecbb039cb905f9e27cf08657dedc">   44</a></span>&#160;<span class="preprocessor">#define RGB_COLOR8(r,g,b)    ( (r &amp; 0xE0) | ((g &gt;&gt; 3)&amp;0x1C) | (b&gt;&gt;6) )</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#a5ffae889173a34bb16146d3a3b869c04">   47</a></span>&#160;<span class="preprocessor">#define RGB_COLOR16(r,g,b)   ( ((r&lt;&lt;8) &amp; 0xF800) | ((g &lt;&lt; 3)&amp;0x07E0) | (b&gt;&gt;3) )</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#a4ab6a81b88d852058c6522940bc236c5">   50</a></span>&#160;<span class="preprocessor">#define RGB8_TO_RGB16(c)     ( (((uint16_t)c &amp; 0b11100000) &lt;&lt; 8) | \</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;<span class="preprocessor">                               (((uint16_t)c &amp; 0b00011100) &lt;&lt; 6) | \</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">                               (((uint16_t)c &amp; 0b00000011) &lt;&lt; 3) )</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#a1e5e80ef82d44dc9ddee69aa8abda4d5">   55</a></span>&#160;<span class="preprocessor">#define RGB8_TO_GRAY4(rgb)  ( (rgb &gt;&gt; 6) + ((rgb &gt;&gt; 2) &amp; 0x07) + (rgb &amp; 0x03) )</span></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#afd58e53d7074f56bbd024730c0f24067">   58</a></span>&#160;<span class="preprocessor">#define GRAY_COLOR4(gray)    ( ((gray &gt;&gt; 4) &amp; 0x0F) | (gray &amp; 0xF0) )</span></div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;</div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#ab7332c54dc2b98a7d65df62d2785f58d">   61</a></span>&#160;<span class="preprocessor">#define RGB16_TO_RGB8(c)     ( ((uint16_t)(c &gt;&gt; 8) &amp; 0b11100000) | \</span></div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="preprocessor">                               ((uint16_t)(c &gt;&gt; 6) &amp; 0b00011100) | \</span></div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;<span class="preprocessor">                               ((uint16_t)(c &gt;&gt; 3) &amp; 0b00000011) )</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#aeb51e8c3a40de7886cdc7d9c74175f05">   66</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="nano__gfx__types_8h.html#aeb51e8c3a40de7886cdc7d9c74175f05">InitFunction</a>)(void);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#a4ceb6be9200d0bb016cbbb87dcf5ed88">   69</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;{</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    STYLE_NORMAL,</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    STYLE_BOLD,</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    STYLE_ITALIC,</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;} <a class="code" href="nano__gfx__types_8h.html#a4ceb6be9200d0bb016cbbb87dcf5ed88">EFontStyle</a>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="nano__gfx__types_8h.html#a153dd3fa628c68400edc68fa1949e696">   77</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;{</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    FONT_SIZE_NORMAL = 0,</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    FONT_SIZE_2X     = 1,</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    FONT_SIZE_4X     = 2,</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    FONT_SIZE_8X     = 3,</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;} <a class="code" href="nano__gfx__types_8h.html#a153dd3fa628c68400edc68fa1949e696">EFontSize</a>;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#pragma pack(push, 1)</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="struct_s_font_header_record.html">   87</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;{</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="struct_s_font_header_record.html#a0ea841c88936f4f4d49f6d0c4b71ce8e">   89</a></span>&#160;    uint8_t <a class="code" href="struct_s_font_header_record.html#a0ea841c88936f4f4d49f6d0c4b71ce8e">type</a>;         </div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="struct_s_font_header_record.html#a0ddb0bb869318675504c842516810c2d">   90</a></span>&#160;    uint8_t <a class="code" href="struct_s_font_header_record.html#a0ddb0bb869318675504c842516810c2d">width</a>;        </div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="struct_s_font_header_record.html#ad650740842794fe175eb1dccfa3cedea">   91</a></span>&#160;    uint8_t <a class="code" href="struct_s_font_header_record.html#ad650740842794fe175eb1dccfa3cedea">height</a>;       </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="struct_s_font_header_record.html#a2b7b768b98e4da20a932b32d7980dde1">   92</a></span>&#160;    uint8_t <a class="code" href="struct_s_font_header_record.html#a2b7b768b98e4da20a932b32d7980dde1">ascii_offset</a>; </div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;} <a class="code" href="struct_s_font_header_record.html">SFontHeaderRecord</a>;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="struct_s_unicode_block_record.html">   96</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;{</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="struct_s_unicode_block_record.html#af269a22380bdb209d119e78fd94793b3">   98</a></span>&#160;    uint16_t <a class="code" href="struct_s_unicode_block_record.html#af269a22380bdb209d119e78fd94793b3">start_code</a>;  </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="struct_s_unicode_block_record.html#a4e9a958ed2e5507c22490818dd2a304d">   99</a></span>&#160;    uint8_t <a class="code" href="struct_s_unicode_block_record.html#a4e9a958ed2e5507c22490818dd2a304d">count</a>;        </div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;} <a class="code" href="struct_s_unicode_block_record.html">SUnicodeBlockRecord</a>;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;<span class="preprocessor">#pragma pack(pop)</span></div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="struct_s_fixed_font_info.html">  105</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;{</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="struct_s_fixed_font_info.html#a5116a6259c857fffdbbfc0867ced31b9">  107</a></span>&#160;    <a class="code" href="struct_s_font_header_record.html">SFontHeaderRecord</a> <a class="code" href="struct_s_fixed_font_info.html#a5116a6259c857fffdbbfc0867ced31b9">h</a>; </div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="struct_s_fixed_font_info.html#af15942a32b4cebccdad63b2d81f24abc">  108</a></span>&#160;    uint8_t <a class="code" href="struct_s_fixed_font_info.html#af15942a32b4cebccdad63b2d81f24abc">count</a>; </div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="struct_s_fixed_font_info.html#ae1f28bffdc33257500d04b8999edb9b2">  109</a></span>&#160;    uint8_t <a class="code" href="struct_s_fixed_font_info.html#ae1f28bffdc33257500d04b8999edb9b2">pages</a>; </div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="struct_s_fixed_font_info.html#a16b1ae2c599c2e8c1634a372f4c550b8">  110</a></span>&#160;    uint8_t <a class="code" href="struct_s_fixed_font_info.html#a16b1ae2c599c2e8c1634a372f4c550b8">glyph_size</a>;  </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="struct_s_fixed_font_info.html#a8b47480d4d3e59a40411045a1c82730c">  111</a></span>&#160;    <span class="keyword">const</span> uint8_t *<a class="code" href="struct_s_fixed_font_info.html#a8b47480d4d3e59a40411045a1c82730c">primary_table</a>; </div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;<span class="preprocessor">#ifdef CONFIG_SSD1306_UNICODE_ENABLE</span></div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="struct_s_fixed_font_info.html#a73c75a104b00970b7fef5c7fe66b5ff6">  113</a></span>&#160;    <span class="keyword">const</span> uint8_t *<a class="code" href="struct_s_fixed_font_info.html#a73c75a104b00970b7fef5c7fe66b5ff6">secondary_table</a>; </div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;} <a class="code" href="struct_s_fixed_font_info.html">SFixedFontInfo</a>;</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="struct_s_char_info.html">  118</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;{</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="struct_s_char_info.html#a5473977c8856f8b33d5dd5383d88ad89">  120</a></span>&#160;    uint8_t <a class="code" href="struct_s_char_info.html#a5473977c8856f8b33d5dd5383d88ad89">width</a>;      </div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="struct_s_char_info.html#a8bd0a76b2bebe145437473ab3c1b8a2b">  121</a></span>&#160;    uint8_t <a class="code" href="struct_s_char_info.html#a8bd0a76b2bebe145437473ab3c1b8a2b">height</a>;     </div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="struct_s_char_info.html#a812ff013a4ac7c53e8050892cd82541f">  122</a></span>&#160;    uint8_t <a class="code" href="struct_s_char_info.html#a812ff013a4ac7c53e8050892cd82541f">spacing</a>;      </div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="struct_s_char_info.html#a63babb0e12a4d2b08ececeb39abb6ed0">  123</a></span>&#160;    <span class="keyword">const</span> uint8_t *<a class="code" href="struct_s_char_info.html#a63babb0e12a4d2b08ececeb39abb6ed0">glyph</a>; </div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;} <a class="code" href="struct_s_char_info.html">SCharInfo</a>;</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="struct_s_s_d1306___r_e_c_t.html">  129</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct</span></div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;{</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="struct_s_s_d1306___r_e_c_t.html#a596b6b6cce11df484877b63db7d0a5b5">  132</a></span>&#160;    uint8_t <a class="code" href="struct_s_s_d1306___r_e_c_t.html#a596b6b6cce11df484877b63db7d0a5b5">left</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="struct_s_s_d1306___r_e_c_t.html#ae4b7642bc9792a9eac02e19f62fe55eb">  134</a></span>&#160;    uint8_t <a class="code" href="struct_s_s_d1306___r_e_c_t.html#ae4b7642bc9792a9eac02e19f62fe55eb">top</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="struct_s_s_d1306___r_e_c_t.html#a9ed468c58af55753dc61bb3dbdb6275b">  136</a></span>&#160;    uint8_t <a class="code" href="struct_s_s_d1306___r_e_c_t.html#a9ed468c58af55753dc61bb3dbdb6275b">right</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="struct_s_s_d1306___r_e_c_t.html#ac6f2761573966ed9540d9ac66cf1b471">  138</a></span>&#160;    uint8_t <a class="code" href="struct_s_s_d1306___r_e_c_t.html#ac6f2761573966ed9540d9ac66cf1b471">bottom</a>;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;} <a class="code" href="struct_s_s_d1306___r_e_c_t.html">SSD1306_RECT</a>;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html">  146</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct_s_p_r_i_t_e.html">SPRITE</a></div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;{</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#a44b2c947f1c6e30f31a77b8520855841">  149</a></span>&#160;    uint8_t <a class="code" href="struct_s_p_r_i_t_e.html#a44b2c947f1c6e30f31a77b8520855841">x</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#ab0ea36dda66319248b66b1a5056b1ba9">  151</a></span>&#160;    uint8_t <a class="code" href="struct_s_p_r_i_t_e.html#ab0ea36dda66319248b66b1a5056b1ba9">y</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#abb6cdf1e159d5d3a8655d1944d4be2de">  153</a></span>&#160;    uint8_t <a class="code" href="struct_s_p_r_i_t_e.html#abb6cdf1e159d5d3a8655d1944d4be2de">w</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#afc5ed686d6064db045512fc72bc02dd3">  155</a></span>&#160;    uint8_t <a class="code" href="struct_s_p_r_i_t_e.html#afc5ed686d6064db045512fc72bc02dd3">lx</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#aab3453c2a4cf02976c6d53fa79e5e051">  157</a></span>&#160;    uint8_t <a class="code" href="struct_s_p_r_i_t_e.html#aab3453c2a4cf02976c6d53fa79e5e051">ly</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#ac56b0c16d0bcd810ae1289350df821c3">  159</a></span>&#160;    <span class="keyword">const</span> uint8_t * <a class="code" href="struct_s_p_r_i_t_e.html#ac56b0c16d0bcd810ae1289350df821c3">data</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#a179f75785cfe41d2aaba303536d09d26">  161</a></span>&#160;    <span class="keyword">const</span> uint8_t * <a class="code" href="struct_s_p_r_i_t_e.html#a179f75785cfe41d2aaba303536d09d26">transparentMask</a>;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="struct_s_p_r_i_t_e.html#aefc379df23410812d5799c2b93161e19">setPos</a>(uint8_t x, uint8_t y);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="struct_s_p_r_i_t_e.html#af3f35eab30dd39e4434b29923f0afab6">draw</a>();</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="struct_s_p_r_i_t_e.html#ada52ad2a7aae3bdb62c6dc66ccb8765c">eraseTrace</a>();</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="struct_s_p_r_i_t_e.html#ab08b9b2831224d69a19d992819d100a2">erase</a>();</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#a20017763966ef3adcf3bb7015e39eb14">  191</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="struct_s_p_r_i_t_e.html#a20017763966ef3adcf3bb7015e39eb14">isNearMove</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="comment">/* We emulate abs function for unsigned vars here */</span></div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;        <span class="keywordflow">return</span> (((uint8_t)(x-lx)&lt;w) || ((uint8_t)(lx-x)&lt;w)) &amp;&amp;</div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;               (((uint8_t)(y-ly)&lt;8) || ((uint8_t)(ly-<a class="code" href="struct_s_p_r_i_t_e.html#ab0ea36dda66319248b66b1a5056b1ba9">y</a>)&lt;8));</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    };</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#a9e207e844a61cf781260fef142bc6aa0">  206</a></span>&#160;    <span class="keyword">inline</span> <a class="code" href="struct_s_s_d1306___r_e_c_t.html">SSD1306_RECT</a> <a class="code" href="struct_s_p_r_i_t_e.html#a9e207e844a61cf781260fef142bc6aa0">getRect</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;        uint8_t right = ((x + w - 1)&gt;&gt;3);</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        uint8_t bottom = ((y + 7)&gt;&gt;3);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;        uint8_t left = x&gt;&gt;3; left = left &lt; right ? left: 0;</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        uint8_t top = y&gt;&gt;3; top = top &lt; bottom ? top: 0;</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="struct_s_s_d1306___r_e_c_t.html">SSD1306_RECT</a>){ left, top, right, bottom };</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;    };</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#a6ee73688f564cc3a894ed9516e30c448">  222</a></span>&#160;    <span class="keyword">inline</span> <a class="code" href="struct_s_s_d1306___r_e_c_t.html">SSD1306_RECT</a> <a class="code" href="struct_s_p_r_i_t_e.html#a6ee73688f564cc3a894ed9516e30c448">getLRect</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;        uint8_t left = <a class="code" href="struct_s_p_r_i_t_e.html#afc5ed686d6064db045512fc72bc02dd3">lx</a>;</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        uint8_t top = <a class="code" href="struct_s_p_r_i_t_e.html#aab3453c2a4cf02976c6d53fa79e5e051">ly</a>;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        uint8_t right = (uint8_t)(lx + w - 1);</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        uint8_t bottom = (uint8_t)(ly + 7);</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        left = left &lt; right ? left: 0;</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        top = top &lt; bottom ? top: 0;</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="struct_s_s_d1306___r_e_c_t.html">SSD1306_RECT</a>){ left, top, right, bottom };</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    };</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="struct_s_p_r_i_t_e.html#a7e3987f9f24d964797a7b0e28a231366">  239</a></span>&#160;    <span class="keyword">inline</span> <a class="code" href="struct_s_s_d1306___r_e_c_t.html">SSD1306_RECT</a> <a class="code" href="struct_s_p_r_i_t_e.html#a7e3987f9f24d964797a7b0e28a231366">getUpdateRect</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;<span class="keyword">    </span>{</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        uint8_t left = <a class="code" href="nano__gfx__types_8h.html#ac6afabdc09a49a433ee19d8a9486056d">min</a>(x,lx);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;        uint8_t top = <a class="code" href="nano__gfx__types_8h.html#ac6afabdc09a49a433ee19d8a9486056d">min</a>(y,ly);</div><div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;        uint8_t right = <a class="code" href="nano__gfx__types_8h.html#affe776513b24d84b39af8ab0930fef7f">max</a>((uint8_t)(x + w - 1), (uint8_t)(lx + w - 1));</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        <span class="keywordflow">if</span> (((uint8_t)(lx + w - 1) &lt; w) &amp;&amp; (right &gt; 2*w))</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        {</div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;            right = (uint8_t)(lx + w - 1);</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        }</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        uint8_t bottom = <a class="code" href="nano__gfx__types_8h.html#affe776513b24d84b39af8ab0930fef7f">max</a>((uint8_t)(y + 7), (uint8_t)(ly + 7));</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;        <span class="keywordflow">if</span> (((uint8_t)(ly + 7) &lt; 8) &amp;&amp; (bottom &gt; 16))</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        {</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;            bottom = (uint8_t)(ly + 7);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        }</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;        <span class="keywordflow">if</span> ( left &gt; right ) left = 0;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        <span class="keywordflow">if</span> ( top &gt; bottom ) top = 0;</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordflow">return</span> (<a class="code" href="struct_s_s_d1306___r_e_c_t.html">SSD1306_RECT</a>){ left, top, right, bottom };</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    };</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;} <a class="code" href="nano__gfx__types_8h.html#aad213759092996ab07d6972f3b21945a">SPRITE</a>;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="comment">// ----------------------------------------------------------------------------</span></div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;<span class="preprocessor">#endif // _NANO_GFX_TYPES_H_</span></div><div class="ttc" id="nano__gfx__types_8h_html_aad213759092996ab07d6972f3b21945a"><div class="ttname"><a href="nano__gfx__types_8h.html#aad213759092996ab07d6972f3b21945a">SPRITE</a></div><div class="ttdeci">struct SPRITE SPRITE</div></div>
<div class="ttc" id="struct_s_char_info_html_a8bd0a76b2bebe145437473ab3c1b8a2b"><div class="ttname"><a href="struct_s_char_info.html#a8bd0a76b2bebe145437473ab3c1b8a2b">SCharInfo::height</a></div><div class="ttdeci">uint8_t height</div><div class="ttdoc">char height in pixels </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00121">nano_gfx_types.h:121</a></div></div>
<div class="ttc" id="struct_s_s_d1306___r_e_c_t_html_ae4b7642bc9792a9eac02e19f62fe55eb"><div class="ttname"><a href="struct_s_s_d1306___r_e_c_t.html#ae4b7642bc9792a9eac02e19f62fe55eb">SSD1306_RECT::top</a></div><div class="ttdeci">uint8_t top</div><div class="ttdoc">top </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00134">nano_gfx_types.h:134</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_ac56b0c16d0bcd810ae1289350df821c3"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#ac56b0c16d0bcd810ae1289350df821c3">SPRITE::data</a></div><div class="ttdeci">const uint8_t * data</div><div class="ttdoc">Pointer to PROGMEM data, representing sprite image. </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00159">nano_gfx_types.h:159</a></div></div>
<div class="ttc" id="struct_s_fixed_font_info_html_a8b47480d4d3e59a40411045a1c82730c"><div class="ttname"><a href="struct_s_fixed_font_info.html#a8b47480d4d3e59a40411045a1c82730c">SFixedFontInfo::primary_table</a></div><div class="ttdeci">const uint8_t * primary_table</div><div class="ttdoc">font chars bits </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00111">nano_gfx_types.h:111</a></div></div>
<div class="ttc" id="struct_s_char_info_html"><div class="ttname"><a href="struct_s_char_info.html">SCharInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00118">nano_gfx_types.h:118</a></div></div>
<div class="ttc" id="struct_s_unicode_block_record_html_af269a22380bdb209d119e78fd94793b3"><div class="ttname"><a href="struct_s_unicode_block_record.html#af269a22380bdb209d119e78fd94793b3">SUnicodeBlockRecord::start_code</a></div><div class="ttdeci">uint16_t start_code</div><div class="ttdoc">unicode start code </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00098">nano_gfx_types.h:98</a></div></div>
<div class="ttc" id="struct_s_font_header_record_html_a0ddb0bb869318675504c842516810c2d"><div class="ttname"><a href="struct_s_font_header_record.html#a0ddb0bb869318675504c842516810c2d">SFontHeaderRecord::width</a></div><div class="ttdeci">uint8_t width</div><div class="ttdoc">width in pixels </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00090">nano_gfx_types.h:90</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_a179f75785cfe41d2aaba303536d09d26"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#a179f75785cfe41d2aaba303536d09d26">SPRITE::transparentMask</a></div><div class="ttdeci">const uint8_t * transparentMask</div><div class="ttdoc">Pointer to PROGMEM data, representing sprite transparencyMask (can be nullptr) </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00161">nano_gfx_types.h:161</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_ada52ad2a7aae3bdb62c6dc66ccb8765c"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#ada52ad2a7aae3bdb62c6dc66ccb8765c">SPRITE::eraseTrace</a></div><div class="ttdeci">void eraseTrace()</div></div>
<div class="ttc" id="io_8h_html"><div class="ttname"><a href="io_8h.html">io.h</a></div></div>
<div class="ttc" id="struct_s_font_header_record_html_a0ea841c88936f4f4d49f6d0c4b71ce8e"><div class="ttname"><a href="struct_s_font_header_record.html#a0ea841c88936f4f4d49f6d0c4b71ce8e">SFontHeaderRecord::type</a></div><div class="ttdeci">uint8_t type</div><div class="ttdoc">font type: 0 - Fixed Font </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00089">nano_gfx_types.h:89</a></div></div>
<div class="ttc" id="struct_s_font_header_record_html_ad650740842794fe175eb1dccfa3cedea"><div class="ttname"><a href="struct_s_font_header_record.html#ad650740842794fe175eb1dccfa3cedea">SFontHeaderRecord::height</a></div><div class="ttdeci">uint8_t height</div><div class="ttdoc">height in pixels </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00091">nano_gfx_types.h:91</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_ab08b9b2831224d69a19d992819d100a2"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#ab08b9b2831224d69a19d992819d100a2">SPRITE::erase</a></div><div class="ttdeci">void erase()</div></div>
<div class="ttc" id="struct_s_fixed_font_info_html"><div class="ttname"><a href="struct_s_fixed_font_info.html">SFixedFontInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00105">nano_gfx_types.h:105</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html"><div class="ttname"><a href="struct_s_p_r_i_t_e.html">SPRITE</a></div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00146">nano_gfx_types.h:146</a></div></div>
<div class="ttc" id="struct_s_unicode_block_record_html"><div class="ttname"><a href="struct_s_unicode_block_record.html">SUnicodeBlockRecord</a></div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00096">nano_gfx_types.h:96</a></div></div>
<div class="ttc" id="struct_s_font_header_record_html_a2b7b768b98e4da20a932b32d7980dde1"><div class="ttname"><a href="struct_s_font_header_record.html#a2b7b768b98e4da20a932b32d7980dde1">SFontHeaderRecord::ascii_offset</a></div><div class="ttdeci">uint8_t ascii_offset</div><div class="ttdoc">ascii offset </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00092">nano_gfx_types.h:92</a></div></div>
<div class="ttc" id="nano__gfx__types_8h_html_aeb51e8c3a40de7886cdc7d9c74175f05"><div class="ttname"><a href="nano__gfx__types_8h.html#aeb51e8c3a40de7886cdc7d9c74175f05">InitFunction</a></div><div class="ttdeci">void(* InitFunction)(void)</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00066">nano_gfx_types.h:66</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_af3f35eab30dd39e4434b29923f0afab6"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#af3f35eab30dd39e4434b29923f0afab6">SPRITE::draw</a></div><div class="ttdeci">void draw()</div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_aefc379df23410812d5799c2b93161e19"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#aefc379df23410812d5799c2b93161e19">SPRITE::setPos</a></div><div class="ttdeci">void setPos(uint8_t x, uint8_t y)</div></div>
<div class="ttc" id="struct_s_s_d1306___r_e_c_t_html_ac6f2761573966ed9540d9ac66cf1b471"><div class="ttname"><a href="struct_s_s_d1306___r_e_c_t.html#ac6f2761573966ed9540d9ac66cf1b471">SSD1306_RECT::bottom</a></div><div class="ttdeci">uint8_t bottom</div><div class="ttdoc">bottom </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00138">nano_gfx_types.h:138</a></div></div>
<div class="ttc" id="nano__gfx__types_8h_html_affe776513b24d84b39af8ab0930fef7f"><div class="ttname"><a href="nano__gfx__types_8h.html#affe776513b24d84b39af8ab0930fef7f">max</a></div><div class="ttdeci">#define max(a, b)</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00040">nano_gfx_types.h:40</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_ab0ea36dda66319248b66b1a5056b1ba9"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#ab0ea36dda66319248b66b1a5056b1ba9">SPRITE::y</a></div><div class="ttdeci">uint8_t y</div><div class="ttdoc">draw position Y on the screen </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00151">nano_gfx_types.h:151</a></div></div>
<div class="ttc" id="nano__gfx__types_8h_html_ac6afabdc09a49a433ee19d8a9486056d"><div class="ttname"><a href="nano__gfx__types_8h.html#ac6afabdc09a49a433ee19d8a9486056d">min</a></div><div class="ttdeci">#define min(a, b)</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00035">nano_gfx_types.h:35</a></div></div>
<div class="ttc" id="struct_s_unicode_block_record_html_a4e9a958ed2e5507c22490818dd2a304d"><div class="ttname"><a href="struct_s_unicode_block_record.html#a4e9a958ed2e5507c22490818dd2a304d">SUnicodeBlockRecord::count</a></div><div class="ttdeci">uint8_t count</div><div class="ttdoc">count of unicode chars in block </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00099">nano_gfx_types.h:99</a></div></div>
<div class="ttc" id="struct_s_char_info_html_a5473977c8856f8b33d5dd5383d88ad89"><div class="ttname"><a href="struct_s_char_info.html#a5473977c8856f8b33d5dd5383d88ad89">SCharInfo::width</a></div><div class="ttdeci">uint8_t width</div><div class="ttdoc">char width in pixels </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00120">nano_gfx_types.h:120</a></div></div>
<div class="ttc" id="struct_s_fixed_font_info_html_a73c75a104b00970b7fef5c7fe66b5ff6"><div class="ttname"><a href="struct_s_fixed_font_info.html#a73c75a104b00970b7fef5c7fe66b5ff6">SFixedFontInfo::secondary_table</a></div><div class="ttdeci">const uint8_t * secondary_table</div><div class="ttdoc">font chars bits </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00113">nano_gfx_types.h:113</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_a7e3987f9f24d964797a7b0e28a231366"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#a7e3987f9f24d964797a7b0e28a231366">SPRITE::getUpdateRect</a></div><div class="ttdeci">SSD1306_RECT getUpdateRect() const</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00239">nano_gfx_types.h:239</a></div></div>
<div class="ttc" id="struct_s_fixed_font_info_html_a5116a6259c857fffdbbfc0867ced31b9"><div class="ttname"><a href="struct_s_fixed_font_info.html#a5116a6259c857fffdbbfc0867ced31b9">SFixedFontInfo::h</a></div><div class="ttdeci">SFontHeaderRecord h</div><div class="ttdoc">record, containing information on font </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00107">nano_gfx_types.h:107</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_a44b2c947f1c6e30f31a77b8520855841"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#a44b2c947f1c6e30f31a77b8520855841">SPRITE::x</a></div><div class="ttdeci">uint8_t x</div><div class="ttdoc">draw position X on the screen </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00149">nano_gfx_types.h:149</a></div></div>
<div class="ttc" id="struct_s_char_info_html_a63babb0e12a4d2b08ececeb39abb6ed0"><div class="ttname"><a href="struct_s_char_info.html#a63babb0e12a4d2b08ececeb39abb6ed0">SCharInfo::glyph</a></div><div class="ttdeci">const uint8_t * glyph</div><div class="ttdoc">char data, located in progmem. </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00123">nano_gfx_types.h:123</a></div></div>
<div class="ttc" id="struct_s_font_header_record_html"><div class="ttname"><a href="struct_s_font_header_record.html">SFontHeaderRecord</a></div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00087">nano_gfx_types.h:87</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_abb6cdf1e159d5d3a8655d1944d4be2de"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#abb6cdf1e159d5d3a8655d1944d4be2de">SPRITE::w</a></div><div class="ttdeci">uint8_t w</div><div class="ttdoc">sprite width </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00153">nano_gfx_types.h:153</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_a9e207e844a61cf781260fef142bc6aa0"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#a9e207e844a61cf781260fef142bc6aa0">SPRITE::getRect</a></div><div class="ttdeci">SSD1306_RECT getRect() const</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00206">nano_gfx_types.h:206</a></div></div>
<div class="ttc" id="struct_s_char_info_html_a812ff013a4ac7c53e8050892cd82541f"><div class="ttname"><a href="struct_s_char_info.html#a812ff013a4ac7c53e8050892cd82541f">SCharInfo::spacing</a></div><div class="ttdeci">uint8_t spacing</div><div class="ttdoc">additional spaces after char in pixels </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00122">nano_gfx_types.h:122</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_afc5ed686d6064db045512fc72bc02dd3"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#afc5ed686d6064db045512fc72bc02dd3">SPRITE::lx</a></div><div class="ttdeci">uint8_t lx</div><div class="ttdoc">last draw position X on the screen </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00155">nano_gfx_types.h:155</a></div></div>
<div class="ttc" id="struct_s_s_d1306___r_e_c_t_html"><div class="ttname"><a href="struct_s_s_d1306___r_e_c_t.html">SSD1306_RECT</a></div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00129">nano_gfx_types.h:129</a></div></div>
<div class="ttc" id="nano__gfx__types_8h_html_a4ceb6be9200d0bb016cbbb87dcf5ed88"><div class="ttname"><a href="nano__gfx__types_8h.html#a4ceb6be9200d0bb016cbbb87dcf5ed88">EFontStyle</a></div><div class="ttdeci">EFontStyle</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00069">nano_gfx_types.h:69</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_a20017763966ef3adcf3bb7015e39eb14"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#a20017763966ef3adcf3bb7015e39eb14">SPRITE::isNearMove</a></div><div class="ttdeci">bool isNearMove() const</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00191">nano_gfx_types.h:191</a></div></div>
<div class="ttc" id="nano__gfx__types_8h_html_a153dd3fa628c68400edc68fa1949e696"><div class="ttname"><a href="nano__gfx__types_8h.html#a153dd3fa628c68400edc68fa1949e696">EFontSize</a></div><div class="ttdeci">EFontSize</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00077">nano_gfx_types.h:77</a></div></div>
<div class="ttc" id="struct_s_fixed_font_info_html_a16b1ae2c599c2e8c1634a372f4c550b8"><div class="ttname"><a href="struct_s_fixed_font_info.html#a16b1ae2c599c2e8c1634a372f4c550b8">SFixedFontInfo::glyph_size</a></div><div class="ttdeci">uint8_t glyph_size</div><div class="ttdoc">glyph size in bytes </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00110">nano_gfx_types.h:110</a></div></div>
<div class="ttc" id="struct_s_fixed_font_info_html_ae1f28bffdc33257500d04b8999edb9b2"><div class="ttname"><a href="struct_s_fixed_font_info.html#ae1f28bffdc33257500d04b8999edb9b2">SFixedFontInfo::pages</a></div><div class="ttdeci">uint8_t pages</div><div class="ttdoc">height in pages (each page height is 8-pixels) </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00109">nano_gfx_types.h:109</a></div></div>
<div class="ttc" id="struct_s_s_d1306___r_e_c_t_html_a9ed468c58af55753dc61bb3dbdb6275b"><div class="ttname"><a href="struct_s_s_d1306___r_e_c_t.html#a9ed468c58af55753dc61bb3dbdb6275b">SSD1306_RECT::right</a></div><div class="ttdeci">uint8_t right</div><div class="ttdoc">right </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00136">nano_gfx_types.h:136</a></div></div>
<div class="ttc" id="struct_s_fixed_font_info_html_af15942a32b4cebccdad63b2d81f24abc"><div class="ttname"><a href="struct_s_fixed_font_info.html#af15942a32b4cebccdad63b2d81f24abc">SFixedFontInfo::count</a></div><div class="ttdeci">uint8_t count</div><div class="ttdoc">count of characters </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00108">nano_gfx_types.h:108</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_aab3453c2a4cf02976c6d53fa79e5e051"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#aab3453c2a4cf02976c6d53fa79e5e051">SPRITE::ly</a></div><div class="ttdeci">uint8_t ly</div><div class="ttdoc">last draw position Y on the screen </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00157">nano_gfx_types.h:157</a></div></div>
<div class="ttc" id="struct_s_p_r_i_t_e_html_a6ee73688f564cc3a894ed9516e30c448"><div class="ttname"><a href="struct_s_p_r_i_t_e.html#a6ee73688f564cc3a894ed9516e30c448">SPRITE::getLRect</a></div><div class="ttdeci">SSD1306_RECT getLRect() const</div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00222">nano_gfx_types.h:222</a></div></div>
<div class="ttc" id="struct_s_s_d1306___r_e_c_t_html_a596b6b6cce11df484877b63db7d0a5b5"><div class="ttname"><a href="struct_s_s_d1306___r_e_c_t.html#a596b6b6cce11df484877b63db7d0a5b5">SSD1306_RECT::left</a></div><div class="ttdeci">uint8_t left</div><div class="ttdoc">left </div><div class="ttdef"><b>Definition:</b> <a href="nano__gfx__types_8h_source.html#l00132">nano_gfx_types.h:132</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
